Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.beans.beancontext
Class BeanContextChildSupport

    java.lang.Object
      |
      +--java.beans.beancontext.BeanContextChildSupport

All Implemented Interfaces:
  BeanContextChild, BeanContextServiceRevokedListener, BeanContextServicesListener, EventListener, Serializable

Direct Known Subclasses:
  BeanContextSupport

public class BeanContextChildSupport
extends Object
implements BeanContextChild, BeanContextServicesListener, Serializable

This is a general support class to provide support for implementing the BeanContextChild protocol. This class may either be directly subclassed, or encapsulated and delegated to in order to implement this interface for a given component.

Since:
  1.2
See Also:
  Serialized Form

Field Summary
`protected BeanContext` | `beanContext`
`BeanContextChild` | `beanContextChildPeer` The `BeanContext` in which this `BeanContextChild` is nested.
`protected PropertyChangeSupport` | `pcSupport` The `PropertyChangeSupport` associated with this `BeanContextChildSupport`.
`protected boolean` | `rejectedSetBCOnce` A flag indicating that there has been at least one `PropertyChangeVetoException` thrown for the attempted setBeanContext operation.
`protected VetoableChangeSupport` | `vcSupport` The `VetoableChangeSupport` associated with this `BeanContextChildSupport`.

Constructor Summary
`BeanContextChildSupport()` construct a BeanContextChildSupport where this class has been subclassed in order to implement the JavaBean component itself.
`BeanContextChildSupport(BeanContextChild bcc)` construct a BeanContextChildSupport where the JavaBean component itself implements BeanContextChild, and encapsulates this, delegating that interface to this implementation

Method Summary
`void` | `addPropertyChangeListener(String name, PropertyChangeListener pcl)` Adds a property change listener.
`void` | `addVetoableChangeListener(String name, VetoableChangeListener vcl)` Adds a `VetoableChangeListener`.
`void` | `firePropertyChange(String name, Object oldValue, Object newValue)` Report a bound property update to any registered listeners.
`void` | `fireVetoableChange(String name, Object oldValue, Object newValue)` Report a vetoable property update to any registered listeners.
`BeanContext` | `getBeanContext()` Gets the nesting `BeanContext` for this `BeanContextChildSupport`.
`BeanContextChild` | `getBeanContextChildPeer()` Gets the `BeanContextChild` associated with this `BeanContextChildSupport`.
`protected void` | `initializeBeanContextResources()` This method may be overridden by subclasses to provide their own initialization behaviors.
`boolean` | `isDelegated()` Reports whether or not this class is a delegate of another.
`protected void` | `releaseBeanContextResources()` This method may be overridden by subclasses to provide their own release behaviors.
`void` | `removePropertyChangeListener(String name, PropertyChangeListener pcl)` Remove a property change listener.
`void` | `removeVetoableChangeListener(String name, VetoableChangeListener vcl)` Removes a `VetoableChangeListener`.
`void` | `serviceAvailable(BeanContextServiceAvailableEvent bcsae)` A new service is available from the nesting BeanContext.
`void` | `serviceRevoked(BeanContextServiceRevokedEvent bcsre)` A service provided by the nesting BeanContext has been revoked.
`void` | `setBeanContext(BeanContext bc)` Sets the `BeanContext` for this `BeanContextChildSupport`.
`boolean` | `validatePendingSetBeanContext(BeanContext newValue)` Called from setBeanContext to validate (or otherwise) the pending change in the nesting BeanContext property value.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### beanContextChildPeer

    public BeanContextChild beanContextChildPeer

  The `BeanContext` in which this `BeanContextChild` is nested.

### pcSupport

    protected PropertyChangeSupport pcSupport

  The `PropertyChangeSupport` associated with this `BeanContextChildSupport`.

### vcSupport

    protected VetoableChangeSupport vcSupport

  The `VetoableChangeSupport` associated with this `BeanContextChildSupport`.

### beanContext

    protected transient BeanContext beanContext

### rejectedSetBCOnce

    protected transient boolean rejectedSetBCOnce

  A flag indicating that there has been at least one `PropertyChangeVetoException` thrown for the attempted setBeanContext operation.

Constructor Detail

### BeanContextChildSupport

    public BeanContextChildSupport()

  construct a BeanContextChildSupport where this class has been subclassed in order to implement the JavaBean component itself.

### BeanContextChildSupport

    public BeanContextChildSupport(BeanContextChild bcc)

  construct a BeanContextChildSupport where the JavaBean component itself implements BeanContextChild, and encapsulates this, delegating that interface to this implementation

Method Detail

### setBeanContext

    public void setBeanContext(BeanContext bc)
                        throws PropertyVetoException

  Sets the `BeanContext` for this `BeanContextChildSupport`.

  Specified by:
    `setBeanContext` in interface `BeanContextChild`
  Parameters:
    `bc` - the new value to be assigned to the `BeanContext` property
  Throws:
    ``PropertyVetoException`` - if the change is rejected
    `PropertyVetoException`

### getBeanContext

    public BeanContext getBeanContext()

  Gets the nesting `BeanContext` for this `BeanContextChildSupport`.

  Specified by:
    `getBeanContext` in interface `BeanContextChild`
  Returns:
    the nesting `BeanContext` for this `BeanContextChildSupport`.

### addPropertyChangeListener

    public void addPropertyChangeListener(String name,
                                          PropertyChangeListener pcl)

  Adds a property change listener.

  Specified by:
    `addPropertyChangeListener` in interface `BeanContextChild`
  Parameters:
    `name` - The name of the property to listen on
    `pcl` - The `PropertyChangeListener` to be added

### removePropertyChangeListener

    public void removePropertyChangeListener(String name,
                                             PropertyChangeListener pcl)

  Remove a property change listener.

  Specified by:
    `removePropertyChangeListener` in interface `BeanContextChild`
  Parameters:
    `name` - The name of the property that was listened on
    `pcl` - The PropertyChangeListener to be removed

### addVetoableChangeListener

    public void addVetoableChangeListener(String name,
                                          VetoableChangeListener vcl)

  Adds a `VetoableChangeListener`.

  Specified by:
    `addVetoableChangeListener` in interface `BeanContextChild`
  Parameters:
    `name` - The name of the property to listen on
    `vcl` - The `VetoableChangeListener` to be added

### removeVetoableChangeListener

    public void removeVetoableChangeListener(String name,
                                             VetoableChangeListener vcl)

  Removes a `VetoableChangeListener`.

  Specified by:
    `removeVetoableChangeListener` in interface `BeanContextChild`
  Parameters:
    `name` - The name of the property that was listened on
    `vcl` - The `VetoableChangeListener` to be removed

### serviceRevoked

    public void serviceRevoked(BeanContextServiceRevokedEvent bcsre)

  A service provided by the nesting BeanContext has been revoked. Subclasses may override this method in order to implement their own behaviors.

  Specified by:
    `serviceRevoked` in interface `BeanContextServiceRevokedListener`
  Parameters:
    `bcsre` - The `BeanContextServiceRevokedEvent` fired as a result of a service being revoked

### serviceAvailable

    public void serviceAvailable(BeanContextServiceAvailableEvent bcsae)

  A new service is available from the nesting BeanContext. Subclasses may override this method in order to implement their own behaviors

  Specified by:
    `serviceAvailable` in interface `BeanContextServicesListener`
  Parameters:
    `bcsae` - The BeanContextServiceAvailableEvent fired as a result of a service becoming available

### getBeanContextChildPeer

    public BeanContextChild getBeanContextChildPeer()

  Gets the `BeanContextChild` associated with this `BeanContextChildSupport`.

  Returns:
    the `BeanContextChild` peer of this class

### isDelegated

    public boolean isDelegated()

  Reports whether or not this class is a delegate of another.

  Returns:
    true if this class is a delegate of another

### firePropertyChange

    public void firePropertyChange(String name,
                                   Object oldValue,
                                   Object newValue)

  Report a bound property update to any registered listeners. No event is fired if old and new are equal and non-null.

  Parameters:
    `name` - The programmatic name of the property that was changed
    `oldValue` - The old value of the property
    `newValue` - The new value of the property

### fireVetoableChange

    public void fireVetoableChange(String name,
                                   Object oldValue,
                                   Object newValue)
                            throws PropertyVetoException

  Report a vetoable property update to any registered listeners. If anyone vetos the change, then fire a new event reverting everyone to the old value and then rethrow the PropertyVetoException.

  No event is fired if old and new are equal and non-null.

  Parameters:
    `name` - The programmatic name of the property that is about to change
    `oldValue` - The old value of the property
    `newValue` - - The new value of the property
  Throws:
    `PropertyVetoException` - if the recipient wishes the property change to be rolled back.

### validatePendingSetBeanContext

    public boolean validatePendingSetBeanContext(BeanContext newValue)

  Called from setBeanContext to validate (or otherwise) the pending change in the nesting BeanContext property value. Returning false will cause setBeanContext to throw PropertyVetoException.

  Parameters:
    `newValue` - the new value that has been requested for the BeanContext property
  Returns:
    `true` if the change operation is to be vetoed

### releaseBeanContextResources

    protected void releaseBeanContextResources()

  This method may be overridden by subclasses to provide their own release behaviors. When invoked any resources held by this instance obtained from its current BeanContext property should be released since the object is no longer nested within that BeanContext.

### initializeBeanContextResources

    protected void initializeBeanContextResources()

  This method may be overridden by subclasses to provide their own initialization behaviors. When invoked any resources requried by the BeanContextChild should be obtained from the current BeanContext.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.